import os
import argparse
from models import Prefs
from processor import VideoProcessor

def main():
    parser = argparse.ArgumentParser(description='视频去重工具')
    parser.add_argument('folders', nargs='+', help='要搜索的文件夹路径')
    parser.add_argument('--save-scenes', action='store_true', help='保存场景片段')
    parser.add_argument('--scene-path', help='场景片段保存路径')
    parser.add_argument('--threshold', type=float, default=0.80, help='相似度阈值 (0-1)')
    parser.add_argument('--max-duration-diff', type=int, default=1000, help='最大时长差异（毫秒）')
    parser.add_argument('--max-size-diff', type=float, default=0.1, help='最大文件大小差异比例')
    
    args = parser.parse_args()
    
    # 创建配置
    prefs = Prefs()
    prefs._minSimilarity = args.threshold
    prefs._maxDurationDiff = args.max_duration_diff
    prefs._maxSizeDiff = args.max_size_diff
    
    # 创建处理器
    processor = VideoProcessor(prefs)
    
    # 处理视频
    processor.find_duplicates(
        args.folders,
        save_scenes=args.save_scenes,
        scene_save_path="clips"
    )
    
    # 显示处理结果
    processor.video_summary()

if __name__ == '__main__':
    main() 